#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <liblds/sort.h>

int Compare_a(const void *,const void *);
int Compare_d(const void *,const void *);
void lz_mess_arry_i(int a[],int length);

int main(){
	const int Length=20;
	int *a=(int *)malloc(sizeof(int)*Length);
	for(int i=0;i<Length; ++i){
		a[i]=Length-i;
	}
	lz_mess_arry_i(a,Length);
	BubbleSort_Lds(a,Length,sizeof(int),Compare_a);
	for(int i=0;i<Length; ++i){
		printf("%d ",a[i]);
	}
	putchar('\n');
	BubbleSort_Lds(a,Length,sizeof(int),Compare_d);
	for(int i=0;i<Length; ++i){
		printf("%d ",a[i]);
	}
	putchar('\n');
	free(a);
}
int Compare_a(const void *A,const void *B){
	return *(int *)A-*(int *)B;
}
int Compare_d(const void *A,const void *B){
	return *(int *)B-*(int *)A;
}
void lz_mess_arry_i(int a[],int length){
	srand((unsigned)time(0));
	int ex,addr;
	for(int i=0;i<length;i++){
		addr=rand()%length;
		ex=a[i]; a[i]=a[addr]; a[addr]=ex;
	}
}
